package cn.tedu.fengyuback.personal.mapper;

import cn.tedu.fengyuback.personal.pojo.dto.ArticlesQuery;
import cn.tedu.fengyuback.personal.pojo.dto.FavoritesQuery;
import cn.tedu.fengyuback.personal.pojo.dto.LikesQuery;
import cn.tedu.fengyuback.personal.pojo.dto.PersonalQuery;
import cn.tedu.fengyuback.personal.pojo.entity.Articles;
import cn.tedu.fengyuback.personal.pojo.entity.Favorites;
import cn.tedu.fengyuback.personal.pojo.entity.Likes;
import cn.tedu.fengyuback.personal.pojo.entity.UserFollows;
import cn.tedu.fengyuback.personal.pojo.vo.*;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface PersonalMapper {
    List<UserFollowsVO> selectUserFollows(Long id);

    UserVO select(PersonalQuery personalQuery);

    void deleteByFollowsUserId(Long followsUserId);

    List<ArticlesVO> selectByIdArticle(ArticlesQuery articlesQuery);

    LikesVO selectLikes(LikesQuery likesQuery);

    void deleteLikes(Likes likes);

    void insertLikes(Likes likes);

    FavoritesVO selectFavorites(FavoritesQuery favoritesQuery);

    void insertFavorites(Favorites favorites);

    void deleteFavorites(Favorites favorites);

    void updateArticles(Articles articles);

    List<UserVO> selectUserUnFollows(Long id);

    void insert(UserFollows userFollows);

    List<ArticlesVO> selectFollowArticle(ArticlesQuery articlesQuery);

    void insertArticles(Articles articles);

    List<ArticlesVO> selectByIdArticle1(ArticlesQuery articlesQuery);


}
